package 树;

/**
 * @author ssh
 * @date 2025/8/17
 * @description
 */
public class 二叉树的最大深度 {
    public int maxDepth(TreeNode root) {
        if(root==null) {
            return 0;
        }else{
            int leftDepth=maxDepth(root.left);
            int rightDepth=maxDepth(root.right);
            return Math.max(leftDepth, rightDepth) + 1; // 返回左右子树的最大深度加1
        }
    }

    public static void main(String[] args) {
        // 测试代码
        TreeNode root = new TreeNode(1);
        root.left = new TreeNode(2);
        root.right = new TreeNode(3);
        root.left.left = new TreeNode(4);
        root.left.right = new TreeNode(5);

        二叉树的最大深度 solution = new 二叉树的最大深度();
        int depth = solution.maxDepth(root);
        System.out.println(depth); // 输出: 3
    }
}